package com.xyy.saas.payment.pojo.vo;

import com.xyy.saas.payment.cores.vo.ContactInfo;
import lombok.Data;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

@Data
public class UserInfoVO implements Serializable {
    // 开户类型 merchant-企业 personal-个人
    private String accountType;

    private String accountId;
    /**
     * 联系人信息 查看ContactInfoVo
     */
    private List<ContactInfo> contactInfos;

    /**
     * 电话号码
     */
    private String mobile;

    // ==============  basic info  =================
    /**
     * 公司名称，1~32 位，中英文长度都算 1（后面添加结算账号需与此名字一致）
     */
    private String name;

    /**
     * 办公地址，1~256 位，中英文长度都算 1
     */
    private String address;

    // identityInfo
    /**
     * 证件号码
     */
    private String cardId;
    /**
     * type "1":身份证、 "2":营业执照、 "3":统一信用代码
     */
    private String identityType;
    /**
     * 证件起始日期，格式：yyyy-mm-dd
     */
    private String validFrom;
    /**
     * 证件结束日期，格式：yyyy-mm-dd
     */
    private String validUntil;
    /**
     * 行业
     */
    private String industry;
    /**
     * 职业(个人注册必填)
     */
    private String profession;
    // ======================== basic info end ================


    // ============  settle info  ===============
    // recipient info
    /**
     * 接收者银行账号/卡号
     */
    private String account;
    /**
     * 收款者银行开户名
     */
    private String settleName;
    /**
     * 银行卡预留手机号
     */
    private String settleMobile;
    /**
     * 银行名称(无需填写到支行)
     */
    private String openBank;
    /**
     * 银行卡号类型
     *
     */
    private String cardType;
    /**
     * 开户行名称
     */
    private String subBank;
    /**
     * 开户行行号
     */
    private String subBankCode;

    /**
     * 接口调用方的业务类型, 支付平台分配
     */
    private String businessIdType;

    /**
     * 结算用户创建成功通知地址
     */
    private String callbackAddress;
    /**
     * 业务内部用户名称
     */
    private String businessUserName;
    // ===============  settle info  ===========


    // 图片信息，返回消息使用
    private Map<String, String> picMap;
}
